//
//  DualMediationMAXNativeADManager.h
//  DualMediationSDK
//
//  Created by YeJary on 2025/1/15.
//

#import <Foundation/Foundation.h>
#import "DMAdDelegate.h"

#if __has_include(<UIKit/UIKit.h>)
#import <UIKit/UIKit.h>
#define UIKIT_AVAILABLE 1
#else
#define UIKIT_AVAILABLE 0
@class UIViewController;
#endif

#if __has_include(<AppLovinSDK/AppLovinSDK.h>)
#import <AppLovinSDK/AppLovinSDK.h>
#define APPLOVIN_SDK_AVAILABLE 1
#else
#define APPLOVIN_SDK_AVAILABLE 0
#endif

NS_ASSUME_NONNULL_BEGIN

/**
 * DualMediationMAXNativeADManager - AppLovin MAX原生广告管理器
 * 注意：此类不再提供外部显示接口，所有原生广告操作统一通过DualMediationSDKPublic进行
 * 使用方法：[[DualMediationSDKPublic sharedInstance] showNative:scene position:position]
 */
@interface DualMediationMAXNativeADManager : NSObject

@property (nonatomic, weak) id<DMAdDelegate> delegate;

@property (nonatomic, assign) BOOL isLoadNativeAd;
@property (nonatomic, assign, readonly) BOOL isUserClosed;

+ (instancetype)sharedNativeADManager;

/// 初始化原生广告
- (void)initWithNativead;
/// 设置当前场景
- (void)setCurrentScene:(NSString *)scene;

/// 仅加载原生广告，不展示（内部使用）
- (void)loadNativeAd;

/// 渲染原生广告到指定容器（内部使用）
- (void)renderAdToContainer:(UIView *)containerView;

/// 销毁原生广告（内部使用）
- (void)destroyNativeAd;

@end

NS_ASSUME_NONNULL_END
